Next | Prev | Up | Top | Contents | Index

Kernel Configuration Issues

The highly flexible architecture of the CHALLENGE family requires extensions to the descriptions of devices in the IRIX kernel configuration process, specifically to the VECTOR lines in the system configuration files. The new VECTOR line for VME would look like the following:

VECTOR: bustype=VME module=jag ipl=1 ctlr=0 adapter=0 iospace=(A16S, 0, 0x800) probe_space=(A16S, 0, 1)

Note: The VECTOR line is still all one line. It is broken here to fit on the page. New fields are bustype, which in this case is VME. The ctlr field takes the place of unit in 4.0.x. The adapter field specifies which VME bus. (CHALLENGE systems can be configured to have multiple VME buses).

The iospace triple is used to pass in the address of the controller. The first argument defines the address space. Valid values are A16S, A16NP, A24S, A24NP, A32S, A32NP, A64S, A64NP. The second argument is the address with the specified address space. The third argument is the length of the mapping. The probe_space line performs a badaddr like function (that is, it tries to read the specified address and catch any errors) on the specified address. In this case, the arguments are the address space, address within that space, and the size of the read.

There is also an exprobe_space extended probe space defined as follows:

exprobe_space=(r,A16S,0,2,0xfdd1,0xffff)
The difference between it and the 4.0.x version of exprobe is in the specification of the address to test.

Notice that no vector is specified. The old vector= primitive is still supported for boards that are jumpered. Generally, drivers would use the vme_ivec_alloc() and vme_ivec_set() routines to allocate and set the vector.


Next | Prev | Up | Top | Contents | Index